Test Series - Data Structure

Test Number 9/115

Q: What kind of linked list is best to answer questions like “What is the item at position n?”
A. Singly linked list
B. Doubly linked list
C. Circular linked list
D. Array implementation of linked list
Solution: Arrays provide random access to elements by providing the index value within square brackets. In the linked list, we need to traverse through each element until we reach the nth position. Time taken to access an element represented in arrays is less than the singly, doubly and circular linked lists. Thus, array implementation is used to access the item at the position n.
Q: Linked lists are not suitable for the implementation of ___________
A. Insertion sort
B. Radix sort
C. Polynomial manipulation
D. Binary search
Solution: It cannot be implemented using linked lists.
Q: Linked list is considered as an example of ___________ type of memory allocation.
A. Dynamic
B. Static
C. Compile time
D. Heap
Solution: As memory is allocated at the run time.
Q:  In Linked List implementation, a node carries information regarding ___________
A. Data
B. Link
C. Data and Link
D. Node
Solution:  A linked list is a collection of objects linked together by references from an object to another object. By convention these objects are names as nodes. Linked list consists of nodes where each node contains one or more data fields and a reference(link) to the next node.
Q: Linked list data structure offers considerable saving in _____________
A. Computational Time
B. Space Utilization
C. Space Utilization and Computational Time
D. Space Utilization and Computational Time
Solution: Linked lists saves both space and time.
Q: Which of the following points is/are not true about Linked List data structure when it is compared with an array?
A. Arrays have better cache locality that can make them better in terms of performance
B. It is easy to insert and delete elements in Linked List
C. Random access is not allowed in a typical implementation of Linked Lists
D. Access of elements in linked list takes less time than compared to arrays
Solution: To access an element in a linked list, we need to traverse every element until we reach the desired element. This will take more time than arrays as arrays provide random access to its elements.
Q: What does the following function do for a given Linked List with first node as head?

void fun1(struct node* head)
{
    if(head == NULL)
    return;
    fun1(head->next);
    printf("%d  ", head->data);
}
A. Prints all nodes of linked lists
B. Prints all nodes of linked list in reverse order
C. Prints alternate nodes of Linked List
D. Prints alternate nodes in reverse order
Solution: fun1() prints the given Linked List in reverse manner.
For Linked List 1->2->3->4->5, fun1() prints 5->4->3->2->1.
Q: Which of the following sorting algorithms can be used to sort a random linked list with minimum time complexity?
A. Insertion Sort
B. Quick Sort
C. Heap Sort
D. Merge Sort
Solution: Both Merge sort and Insertion sort can be used for linked lists. The slow random-access performance of a linked list makes other algorithms (such as quicksort) perform poorly, and others (such as heapsort) completely impossible. Since worst case time complexity of Merge Sort is O(nLogn) and Insertion sort is O(n2), merge sort is preferred.
Q: 
A. 
B. 
C. 
D. 
Solution: 

You Have Score    /9